   **EnotVM32**  ChatGPT ( https://chatgpt.com/ )

 .
**EnotVM32**    32-   
  .

* ʳ : **256**
*  : **Int32 (32- )**
* : 
* :  (   Int32)

.
*  : `0..255`
*  ():
  * `A=0 ... Z=25`
  * `CMP1=254`, `CMP2=255`
 .
    :
YA, YB, YC, YD, YE, YF, YG, YH {YA=232 ... YH=239}
   ( EXTR):
ZA, ZB, ZC, ZD, ZE, ZF, ZG, ZH   (ZA=240 ... ZH=247)

 .
|  |                  |
| ------- | -------------------- |
| `RgEIP` |   |
| `RgESP` |        |
   MOV.
   `EXTR`


.
*  :  
*   `cSizeOfRAM`
*    :0 (RgEIP := 0)

.
*  :
RAMc: array[...] of Int32
* :
  * `RgESP`  ** Int32 ( !)**
  * `PUSH/POP`  `RgESP`  1

 .
*  : **Int32 ()**
* : 
*  : 

 .
00  NOP_;  Opcode: 00h;  : nop;  : 1 ; :    
 MOV (32-)
01h  MOVrv   Rg1, V           Rg1 = V
02h  MOVrr   Rg1, Rg2         Rg1 = Rg2
03h  MOVrm   Rg1, [imm32]     Rg1 = DWORD [addr]
04h  MOVrmr  Rg1, Rg2         Rg1 = DWORD [Rg2]
05h  MOVmr   [imm32], Rg1     [addr] = Rg1
06h  MOVmrr  Rg1, Rg2         [Rg1] = Rg2

MOV (16-,    32)
07h  MOV2rm   Rg1, [imm32]    Rg1 = word [addr]
2Bh  MOV2rmr  Rg1, Rg2        Rg1 = word [Rg2]
08h  MOV2mr   [imm32], Rg1    word [addr] = Rg1
2Ch  MOV2mrr  Rg1, Rg2        word [Rg1] = Rg2

MOV (8-,    32)
09h  MOV1rm   Rg1, [imm32]    Rg1 = byte [addr]
2Dh  MOV1rmr  Rg1, Rg2        Rg1 = byte [Rg2]
0Ah  MOV1mr   [imm32], Rg1    byte [addr] = Rg1
2Eh  MOV1mrr  Rg1, Rg2        byte [Rg1] = Rg2

  .
0Bh  CALLa addr               push EIP;  EIP = addr
0Ch  CALLr Rg1                push EIP;  EIP = Rg1
0Dh  RET                      EIP = pop()
0Eh  GOTOa addr               EIP = addr
0Fh  GOTOr Rg1                EIP = Rg1

  ().
:
CMP1  CMP2
10h  if CMP1 = CMP2 then jump addr
11h  if CMP1 <> CMP2 then jump addr
12h  if CMP1 >= CMP2 then jump addr
13h  if CMP1 < CMP2 then jump addr
14h17h    ,    

.
18h  PUSHr Rg1                push(Rg1)
19h  POPr Rg1                 Rg1 = pop()
1Ah  PUSHrsvr Rg1,Rg2         push(Rg1..Rg2)
1Bh  POPrsvr  Rg1,Rg2         pop(Rg1..Rg2)






  .
:
Rg1 = (Rg1 op Rg2)
| Opcode |  |
| ------ | -------- |
| 1C     | ADD      |
| 1D     | SUB      |
| 1E     | MUL      |
| 1F     | DIV      |
| 20     | MOD      |
| 21     | INC      |
| 22     | DEC      |
| 23     | AND      |
| 24     | OR       |
| 25     | XOR      |
| 26     | NOT      |
| 27     | SHL      |
| 28     | SHR      |
| ------ | -------- |


CMP.
29h  CMPrr Rg1, Rg2           CMP1 = Rg1;     CMP2 = Rg2

.
2Ah  EXTR
   :
*  
* API 
* 
( BIOS / interrupt- )

 .
* 256 
*  FLAGS (  CMP1/CMP2)
*      (byte/word/dword)
*    Int32 
*    (opcode + )

.
**EnotVM32**  :
* 
* 
*   VM-
 :
* RISC ( )
* x86 (   )










